package cn.mygweb.common.tasks;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/** 
* <p>Title: TestTask.java</p>
* <p>Description: 定时任务测试类</p>  
* @author gxb 
* @date 2019年5月23日 
* <p>Copyright: Copyright (c) 2019</p>
* <p>Company: www.mygweb.cn</p> 
*/
//@Component
public class TestTask {

	private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	private static Logger logger = LoggerFactory.getLogger(TestTask.class);
	
	/**
	 * <p>Title: reportCurrentTime</p>
	 * <p>Description: 每隔3秒打印一次当前时间</p>
	 */
//	@Scheduled(fixedRate = 3000)// 每隔三秒执行一次
	public void reportCurrentTime() {
//		System.out.println("现在时间：" + sdf.format(new Date()) + "，下面是日志输出 ↓↓↓");
//		logger.error("日志info：" + sdf.format(new Date()));
	}
	
	/**
	 * <p>Title: reportCurrentTimeUsingCron</p>
	 * <p>Description: 使用cron表达式来实现每到5秒到30秒之间就打印当前时间，
	 * 	cron表达式生成地址：http://cron.qqe2.com/</p>
	 * <p>注意：springboot不支持定时任务中设置年这一项，因为cron表达式只支持6位的内容，
	 * 	假设有年的话表达式为 "5-30 1-3 0-3 1-3 1-3 1/3 2013-2016"，这个结果是7位，会抛出异常：
	 * java.lang.IllegalStateException: Encountered invalid @Scheduled method 'reportCurrentTimeUsingCron': 
	 * 		Cron expression must consist of 6 fields (found 7 in "5-30 1-3 0-3 1-3 1-3 1/3 2013-2016")</p>
	 */
//	@Scheduled(cron = "5-30 * * * * ?")//每到第5秒到30秒之间就执行
	public void reportCurrentTimeUsingCron() {
//		System.out.println("现在时间：" + sdf.format(new Date()));
	}
	
}
